#ifndef JIAJIA_CODE_HPP
#define JIAJIA_CODE_HPP

namespace jiajia{

    namespace code{
        // 读取预定义的指令
#define CODE(C) C,
        enum CODEENUM{
            EMPTY = 0,
#include"code.def"
        };
#undef CODE

        // 生成预定义指令的字符串
#define CODE(C) #C,
        const char * code_str[] = {
            "EMPTY",
#include"code.def"
        };
#undef CODE

        static const size_t size = sizeof(code_str)/sizeof(const char *);
    }

    using code_t = typename my::typeSelect<code::size < my::cint<8>::UIntMax, typename my::cint<8>::uintType, typename my::cint<16>::uintType>::type;

}
#endif
